1. Field of the Invention
The present invention relates to the field of collaborative computing and more particularly to element identification in a collaborative computing environment.
2. Description of the Related Art
In a collaborative computing environment, elements including documents, roles, folders and attachments can be identified by name and stored by name or by a hierarchy of names in a central server. Identifying a collaborative computing element by name or a hierarchy of names can require a structured, unique method of storing and retrieving data, for example a file system or content repository. As such, in a collaborative computing environment, oftentimes the element identification structure can be presented to end users in the form of named folders, named documents and named files.
The identification of an element in a collaborative computing environment according to a name or hierarchy of names can result in several known problems. In particular, problems can arise in identifying an element according to name or a hierarchy of names when supporting computing systems that lack a central data store and where the data is distributed among multiple systems, or where the data is replicated across host platforms, or where a computing system provides collaborative services without connection to a central server. Additionally, in a collaborative computing environment utilizing names and hierarchy of names to identify elements, the alphanumeric characters for names to be used in naming elements can be limited in the circumstance that the data store for the collaborative computing environment is a file system. In particular, many symbolic characters are not permitted in naming files for most file systems.
In order to support the identification of elements using names and hierarchies of names, collaborative environments have limited element storage to a centralized data store. However, the use of a centralized data store can be limiting, particularly in respect to offline computing and performance when multiple clients access the centralized data store. Other systems provide for distributed collaborative environments, including offline, disconnected environments with the condition to allow “read” requests on all the data stores for the distributed systems, but to limit write operations to a single host system. Accordingly, slow performance can result on “write” requests because the single host can be geographically located in a different continent of the globe. Furthermore, the single host can be susceptible to failure in which case no write permissions can be allowed.
In the former circumstance, write requests can be marshaled in distributed platforms and applied at a later time to the centralized data store, yet at some point the prolonged failure of the single host can defeat the marshaled write operations. In the latter circumstance, write operations can be applied at each remote server in cluster a distributed manner and replicated at a later time to harmonize the different data stores in the cluster. Still, the replication process can give rise to replication conflicts where two elements with the same name or record number are created, modified or deleted. Furthermore, merging data amongst data stores in a cluster can be complicated by modifying same names for different elements from different hosts in the cluster during replication so as to result in one element being overwrite by another. This limits the user experience due to suddenly changed names or incorrect merging which requires manual administrative intervention to restore the intended data.